function ListNode(){
  //一个data数组
  //只存数据
  const data = [];

  //一个next数组
  //只存指针
  //next[0]存的是data[0]的下一个节点的地址
  //next[1]存的是data[1]的下一个节点的地址
  const next = [];

  //在index位置插入 （即原本index之后的还要串在我们这个新的后面）
  function addNode(ind, p, val){
    next[p] = next[ind]; //next[4] = next[7] //把index之后的串在我们的新的节点后面
    next[ind] = p; //next[7] = 4
    data[p] = val; //data[4] = f
  }

  let head = 3;
  data[3] = 'a';

  addNode(3, 5, 'b'); //让point 3指向5, 并且让data[5]=b
  addNode(5, 7, 'c');
  addNode(7, 2, 'd');
  addNode(2, 1, 'e');
  addNode(7, 4, 'f');
  console.log('data:', JSON.stringify(data));
  console.log('next:', JSON.stringify(next));

  let p = head, ret = '';
  while (p){ //3 -> next[3] = 5 -> next[5] = 7
    ret += `${data[p]}->`;
    p = next[p];
  }
  ret += 'null';
  console.log(ret)
  // data: [null,"e","d","a","f","b",null,"c"]
  // next: [null,null,1,5,2,7,null,4]
  // a->b->c->f->d->e->null

}


ListNode()
